home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 701-725 / 708 / hardblocks / readme < prev    next >
Text File  |  1995-03-18  |  5KB  |  136 lines

  1.         Hardblocks Library v1.2 + HBtool v1.1
  2.         =====================================
  3.  
  4. Copyright:
  5. ----------
  6.  
  7.       © Copyright 1992, Freeware, All rights reserved
  8.  
  9.    Distribution EXCLUSIVELY permitted to Fred Fish for his PD software
  10.    library. Distribution via FTP allowed too. Other forms of distribution
  11.    need the permission of the author.
  12.  
  13.    No guarantee of any kind is made that this program is 100% reliable.
  14.    You use it on your own risk.
  15.  
  16. Notes:
  17. ------
  18.  
  19. This package contains a shared library with support routines for
  20. Commodore's hardblock standard and a small tool which demonstrates use of
  21. this library.
  22.  
  23. Usage of HBtool:
  24. ----------------
  25.  
  26. · HBtool needs the Arp library v39+
  27. · to get the command line template use `hbtool ?', for additional help
  28.   informations type `?' after the colon of the template
  29. · command line template:
  30.      Device,Unit,FILE/k,LOAD/s,RESTORE/s,DEFAULT/s,SHOW/s,OUTPUT/k,SAVE/s,
  31.      BACKUP/s,REMOVE/s
  32. · extra help:
  33.      Usage: HBtool [Device] [Unit] [FILE name] [LOAD] [RESTORE] [DEFAULT]
  34.            [SHOW] [OUTPUT file] [SAVE] [BACKUP] [REMOVE]
  35.         [Device]      = device name (default: scsi.device)
  36.         [Unit]        = device unit num (default 0)
  37.         [FILE name]   = file to restore/save hardblocks
  38.         [LOAD]        = load hardblocks from device (default)
  39.         [RESTORE]     = restore hardblocks from file
  40.         [DEFAULT]     = create standard rigid disk block
  41.         [SHOW]        = show currently loaded hardblocks (default)
  42.         [OUTPUT file] = output file for show (default: NULL -> stdout)
  43.         [SAVE]        = save currently loaded hardblocks to device
  44.         [BACKUP]      = backup currently loaded hardblocks to file
  45.         [REMOVE]      = delete rigid disk block from device
  46. · before any changing of hardblocks on selected device are performed, a
  47.   safety check must be passed - enter `YES' (case sensitive !!!), anything
  48.   other aborts the changing operation
  49. · with LOAD, RESTORE & DEFAULT the hardblocks are only load into memory,
  50.   now they can displayed (SHOW -> on screen, SHOW OUTPUT prt: -> on
  51.   printer), stored in data files (BACKUP) or used as new hardblocks for
  52.   selected device (SAVE), eg. to use hardblocks out a file you type
  53.     hbtool my.device 0 restore file my.hardblocks save
  54. · with REMOVE only the rigid disk block is deleted from device
  55.  
  56. Error codes:
  57. ------------
  58.  
  59.  1 = invalid parameters given to function
  60.  2 = out of memory
  61.  3 = selected device don't exist
  62.  4 = selected board from given unit number don't exist
  63.  5 = can't find target id of controller for rdb_HostID
  64.  6 = selected device unit don't exist or isn't ready
  65.  7 = reading from device failed
  66.  8 = writing to device failed
  67.  9 = selected device don't support HD_SCSICMD
  68. 10 = cannot issue SCSI command to self - SCSI controller addressed
  69. 11 = DMA error
  70. 12 = illegal or unexpected SCSI phase
  71. 13 = SCSI parity error
  72. 14 = select timed out
  73. 15 = status and/or sense error
  74. 16 = INQUIRY cmd failed
  75. 17 = MODE SENSE cmd failed
  76. 18 = other SCSI cmd failed
  77. 19 = TEST UNIT READY cmd failed
  78. 20 = drive type of selected SCSI unit isn't DIRECT ACCESS
  79. 21 = wrong value in rdb_BlockBytes (2**x >= 256)
  80. 22 = incorrect value in rdb_RDBBlocksLo/Hi
  81. 23 = reserved area (rdb_RDBBlocksLo/Hi) too small for current hardblocks
  82. 24 = block num greater than num of last logical block of device unit
  83. 25 = odd aligned ptr to block in memory
  84. 26 = block with unsupported id
  85. 27 = unknown hardblock type
  86. 28 = invalid hardblock size
  87. 29 = invalid hardblock checksum
  88. 30 = no RigidDiskBlock found
  89. 31 = invalid RigidDiskBlock
  90. 32 = invalid BadBlockBlock
  91. 33 = invalid PartitionBlock
  92. 34 = invalid FileSysHeaderBlock
  93. 35 = missing file system
  94. 36 = invalid file system
  95. 37 = invalid code for rdb_DriveInit
  96. 38 = invalid LoadSegBlock
  97. 39 = user aborted with <ctrl c>
  98. 40 = can't open given file
  99. 41 = seeking within file failed
  100. 42 = reading from file failed
  101. 43 = writing to file failed
  102.  
  103. Some technical details:
  104. -----------------------
  105.  
  106. · hardblocks library use HD_SCSI_CMDs, so only SCSI devices are supported
  107. · the library only supports all hardblocks defined by Commodore
  108.   (devices/hardblocks.h); all other block types (some SCSI controller
  109.   vendors use custom hardblocks for internal purposes, eg. TrumpCard ->
  110.   `IVS\0') are ignored
  111. · also all reserved block list headers of rigid disk block are not supported
  112. · BadBlockBlocks and LoadSegBlocks (FileSysHeaderBlock & DriveInit) are
  113.   summarized to ONE custom hardblock called DataBlock (see hardblocks.h)
  114. · all block numbers (block list heads in rigid disk block, xxx_Next,
  115.   fhb_SegListBlocks, ...) are replaced by memory pointers (read and restore)
  116.   or offsets into data file (save)
  117. · an additional error code is returned in pr_Result2 of process structure,
  118.   use the dos call IoErr() to get this value
  119. · currently hardblocks library produces some debugging messages via
  120.   FarPrint (from Olaf Barthel, see fish disk #??), so if an error occured
  121.   FarPrint (started first) can be used to check the internal state of the
  122.   library
  123.  
  124. Author:
  125. -------
  126.  
  127.    Torsten Jürgeleit
  128.    Am Sandberg 4
  129.    W-5270 Gummersbach
  130.    Germany
  131.    Phone: ++49 2261 27400
  132.  
  133.    Bug reports, flames, donations etc. are welcome !
  134.    I may be reached via eMail: mike@miba.obb.sub.org
  135.    Since this is a neighbour, it may take some time to answer :)
  136.